﻿@{
    ViewData["Title"] = "Contact";
}
<label>印章名称</label>
<input type="text" id="sealName" value="哈哈哈" />
<br />
<label>印章类型:1单位印章,2个人印章</label>
<input type="text" id="sealType" value="1" />
<br />
<label>印章生效时间</label>
<input type="text" id="sealStartTime" value="2018-10-10 10:00:00" />
<br />
<label>印章作废时间</label>
<input type="text" id="sealEndTime" value="2019-10-10 10:00:00" />
<br />
<label>制章人证书序列号</label>
<input type="text" id="makerCertID" />
<br />
<label>用户证书序列号</label>
<input type="text" id="userCertID" />
<br />
<label>图片Base64</label>
<textarea rows="5" cols="80" id="picBase64">
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
</textarea>
<br />
<label>印章Base64</label>
<textarea rows="5" cols="80" id="sealBase64">
</textarea>
<br />
<label>印章哈希Base64</label>
<textarea rows="5" cols="80" id="sealHashBase64">
</textarea>
<br />
<label>印章签名Base64</label>
<textarea rows="5" cols="80" id="sealSigBase64">
</textarea>
<br />
<button id="btnComputeSealHash">计算印章哈希</button>
<button id="btnComputeSealSig">计算印章签名</button>
<button id="btnComputeSeal">计算最终印章数据</button>
<button id="btnWriteUkey">写入印章数据</button>
<button id="btnReadUkey">读取印章数据</button>
<button id="btnGetSealInfo">解析印章数据</button>
<button id="btnVerifySealData">验证印章数据</button>
@section Scripts
    {
    <script>
        $(function () {
            console.log("test");
            $("#btnComputeSealHash").click(ComputeSealHash);
            $("#btnComputeSealSig").click(ComputeSealSig);
            $("#btnComputeSeal").click(ComputeSeal);
            $("#btnWriteUkey").click(WriteUkey);
            $("#btnReadUkey").click(ReadUkey);
            $("#btnGetSealInfo").click(GetSealInfo);
            $("#btnVerifySealData").click(VerifySealData);
        });

        function ComputeSealHash() {
            var uri = "ws://127.0.0.1:2012/ComputeSealHash";
            var socket = new WebSocket(uri);
            socket.onopen = function (e) {
                console.log("connected");
                var data = {
                    makerCertID: $("#makerCertID").val(),
                    userCertID: $("#userCertID").val(),
                    picBase64: $("#picBase64").val(),
                    sealName: $("#sealName").val(),
                    sealType: $("#sealType").val(),
                    sealStartTime: $("#sealStartTime").val(),
                    sealEndTime: $("#sealEndTime").val()
                };
                socket.send(JSON.stringify(data));
            };
            socket.onclose = function (e) { console.log("closed"); };
            socket.onmessage = function (e) {
                console.log(e.data);
                var retJSONObject = JSON.parse(e.data);
                $("#sealBase64").val(retJSONObject.sealBase64);
                $("#sealHashBase64").val(retJSONObject.digestBase64);
                socket.close();
            };
            socket.onerror = function (e) { console.log("Error: " + e.data); };
        }

        function ComputeSealSig() {
            var uri = "ws://127.0.0.1:2012/SignDataEx";
            var socket = new WebSocket(uri);
            socket.onopen = function (e) {
                console.log("connected");
                var data = {
                    certId: $("#makerCertID").val(),
                    hashBase64: $("#sealHashBase64").val(),
                    strPin: "111111"
                };
                socket.send(JSON.stringify(data));
            };
            socket.onclose = function (e) { console.log("closed"); };
            socket.onmessage = function (e) {
                console.log(e.data);
                var retJSONObject = JSON.parse(e.data);
                $("#sealSigBase64").val(retJSONObject.SigBase64);
                socket.close();
            };
            socket.onerror = function (e) { console.log("Error: " + e.data); };
        }

        function ComputeSeal() {
            var uri = "ws://127.0.0.1:2012/ComputeSeal";
            var socket = new WebSocket(uri);
            socket.onopen = function (e) {
                console.log("connected");
                var data = {
                    sealWithoutSigBase64: $("#sealBase64").val(),
                    sigBase64: $("#sealSigBase64").val()
                };
                socket.send(JSON.stringify(data));
            };
            socket.onclose = function (e) { console.log("closed"); };
            socket.onmessage = function (e) {
                console.log(e.data);
                var retJSONObject = JSON.parse(e.data);
                $("#sealBase64").val(retJSONObject.sealBase64);
                socket.close();
            };
            socket.onerror = function (e) { console.log("Error: " + e.data); };
        }

        function WriteUkey() {
            var uri = "ws://127.0.0.1:2012/WriteUkey";
            var socket = new WebSocket(uri);
            socket.onopen = function (e) {
                console.log("connected");
                var data = {
                    certID: $("#userCertID").val(),
                    fileName: "GBESEAL",
                    dataBase64: $("#sealBase64").val()
                };
                socket.send(JSON.stringify(data));
            };
            socket.onclose = function (e) { console.log("closed"); };
            socket.onmessage = function (e) {
                console.log(e.data);
                socket.close();
            };
            socket.onerror = function (e) { console.log("Error: " + e.data); };
        }
        function ReadUkey() {
            var uri = "ws://127.0.0.1:2012/ReadUkey";
            var socket = new WebSocket(uri);
            socket.onopen = function (e) {
                console.log("connected");
                var data = {
                    certID: $("#userCertID").val(),
                    fileName: "GBESEAL"
                };
                socket.send(JSON.stringify(data));
            };
            socket.onclose = function (e) { console.log("closed"); };
            socket.onmessage = function (e) {
                console.log(e.data);
                var retJSONObject = JSON.parse(e.data);
                $("#sealBase64").val(retJSONObject.dataBase64);
                socket.close();
            };
            socket.onerror = function (e) { console.log("Error: " + e.data); };
        }

        function GetSealInfo() {
            var uri = "ws://127.0.0.1:2012/GetSealInfo";
            var socket = new WebSocket(uri);
            socket.onopen = function (e) {
                console.log("connected");
                var data = {
                    sealBase64: $("#sealBase64").val()
                };
                socket.send(JSON.stringify(data));
            };
            socket.onclose = function (e) { console.log("closed"); };
            socket.onmessage = function (e) {
                console.log(e.data);
                socket.close();
            };
            socket.onerror = function (e) { console.log("Error: " + e.data); };
        }

        function VerifySealData() {
            var uri = "ws://127.0.0.1:2012/VerifySealData";
            var socket = new WebSocket(uri);
            socket.onopen = function (e) {
                console.log("connected");
                var data = {
                    sealBase64: $("#sealBase64").val()
                };
                socket.send(JSON.stringify(data));
            };
            socket.onclose = function (e) { console.log("closed"); };
            socket.onmessage = function (e) {
                console.log(e.data);
                socket.close();
            };
            socket.onerror = function (e) { console.log("Error: " + e.data); };
        }
    </script>
}
